[INFO] fetching crate carbide_core 0.70.1...
[INFO] building carbide_core-0.70.1 against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] extracting crate carbide_core 0.70.1 into /workspace/builds/worker-7/source
[INFO] validating manifest of crates.io crate carbide_core 0.70.1 on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate carbide_core 0.70.1
[INFO] finished tweaking crates.io crate carbide_core 0.70.1
[INFO] tweaked toml for crates.io crate carbide_core 0.70.1 written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 391374d38c15d77f8aa3238a8704660b852ec966d4889f97d98e3db2742623e7
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "391374d38c15d77f8aa3238a8704660b852ec966d4889f97d98e3db2742623e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "391374d38c15d77f8aa3238a8704660b852ec966d4889f97d98e3db2742623e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "391374d38c15d77f8aa3238a8704660b852ec966d4889f97d98e3db2742623e7", kill_on_drop: false }`
[INFO] [stdout] 391374d38c15d77f8aa3238a8704660b852ec966d4889f97d98e3db2742623e7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7dbc285eebd329ab61a9d2bcaab37080f5c05b8485f32d552ff49c7bee18f54e
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "7dbc285eebd329ab61a9d2bcaab37080f5c05b8485f32d552ff49c7bee18f54e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.95
[INFO] [stderr]    Compiling proc-macro2 v1.0.27
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]    Compiling futures-core v0.3.15
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling serde_derive v1.0.126
[INFO] [stderr]    Compiling serde v1.0.126
[INFO] [stderr]    Compiling linked-hash-map v0.5.4
[INFO] [stderr]    Compiling futures-task v0.3.15
[INFO] [stderr]    Compiling futures-channel v0.3.15
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling slab v0.4.3
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling futures-sink v0.3.15
[INFO] [stderr]    Compiling downcast-rs v1.2.0
[INFO] [stderr]    Compiling xdg v2.2.0
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling futures-io v0.3.15
[INFO] [stderr]    Compiling inplace_it v0.3.3
[INFO] [stderr]    Compiling copyless v0.1.5
[INFO] [stderr]    Compiling piston-float v1.0.0
[INFO] [stderr]    Compiling typed-arena v2.0.1
[INFO] [stderr]    Compiling dyn-clone v1.0.4
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling futures-macro v0.3.15
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling futures-util v0.3.15
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling libloading v0.6.7
[INFO] [stderr]    Compiling stb_truetype v0.3.1
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling x11 v2.18.2
[INFO] [stderr]    Compiling instant v0.1.9
[INFO] [stderr]    Compiling tracing-core v0.1.18
[INFO] [stderr]    Compiling lock_api v0.4.4
[INFO] [stderr]    Compiling piston-viewport v1.0.0
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling wgpu-types v0.6.1
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling dlib v0.4.2
[INFO] [stderr]    Compiling ash v0.31.0
[INFO] [stderr]    Compiling wayland-sys v0.23.6
[INFO] [stderr]    Compiling tracing v0.1.26
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[INFO] [stderr]    Compiling crossbeam-deque v0.7.3
[INFO] [stderr]    Compiling raw-window-handle v0.3.3
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.3
[INFO] [stderr]    Compiling memmap v0.7.0
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling ordered-float v1.1.1
[INFO] [stderr]    Compiling approx v0.3.2
[INFO] [stderr]    Compiling euclid v0.22.5
[INFO] [stderr]    Compiling line_drawing v0.7.0
[INFO] [stderr]    Compiling spirv_headers v1.5.0
[INFO] [stderr]    Compiling sid v0.6.1
[INFO] [stderr]    Compiling xcb v0.9.0
[INFO] [stderr]    Compiling gfx-hal v0.6.0
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rusttype v0.8.3
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling rusttype v0.7.9
[INFO] [stderr]    Compiling andrew v0.2.1
[INFO] [stderr]    Compiling lyon_geom v0.17.1
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]    Compiling lyon_path v0.17.2
[INFO] [stderr]    Compiling num v0.2.1
[INFO] [stderr]    Compiling lyon_algorithms v0.17.4
[INFO] [stderr]    Compiling lyon_tessellation v0.17.6
[INFO] [stderr]    Compiling gfx-backend-empty v0.6.0
[INFO] [stderr]    Compiling gfx-memory v0.2.2
[INFO] [stderr]    Compiling gfx-descriptor v0.2.0
[INFO] [stderr]    Compiling lyon v0.17.5
[INFO] [stderr]    Compiling wayland-commons v0.23.6
[INFO] [stderr]    Compiling thiserror-impl v1.0.25
[INFO] [stderr]    Compiling bytemuck_derive v1.0.1
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling carbide_derive v0.70.1
[INFO] [stderr]    Compiling x11-clipboard v0.5.2
[INFO] [stderr]    Compiling bytemuck v1.5.1
[INFO] [stderr]    Compiling thiserror v1.0.25
[INFO] [stderr]    Compiling naga v0.2.0
[INFO] [stderr]    Compiling gfx-backend-vulkan v0.6.5
[INFO] [stderr]    Compiling smithay-client-toolkit v0.6.6
[INFO] [stderr]    Compiling smithay-clipboard v0.4.0
[INFO] [stderr]    Compiling wgpu-core v0.6.5
[INFO] [stderr]    Compiling copypasta v0.6.3
[INFO] [stderr]    Compiling futures-executor v0.3.15
[INFO] [stderr]    Compiling futures v0.3.15
[INFO] [stderr]    Compiling wgpu v0.6.2
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling ron v0.6.4
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling pistoncore-input v1.0.0
[INFO] [stderr]    Compiling carbide_core v0.70.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 39s
[INFO] running `Command { std: "docker" "inspect" "7dbc285eebd329ab61a9d2bcaab37080f5c05b8485f32d552ff49c7bee18f54e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7dbc285eebd329ab61a9d2bcaab37080f5c05b8485f32d552ff49c7bee18f54e", kill_on_drop: false }`
[INFO] [stdout] 7dbc285eebd329ab61a9d2bcaab37080f5c05b8485f32d552ff49c7bee18f54e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 4900e0b50251d84e7873308cae3eddbf27e7beb0a29afe5b319e214af1e36b99
[INFO] running `Command { std: "docker" "start" "-a" "4900e0b50251d84e7873308cae3eddbf27e7beb0a29afe5b319e214af1e36b99", kill_on_drop: false }`
[INFO] [stderr]    Compiling carbide_core v0.70.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0252]: the name `Mouse` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use input::Button::{Keyboard, Mouse};
[INFO] [stdout]   |                               ----- previous import of the type `Mouse` here
[INFO] [stdout] 4 | use input::Button::Mouse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^ `Mouse` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Mouse` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Motion` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |                        ------ previous import of the type `Motion` here
[INFO] [stdout] ...
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^ `Motion` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Motion` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]   |
[INFO] [stdout] 9 | use carbide_core::input::{Motion as OtherMotion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Key` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:9:43
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |                   --- previous import of the type `Key` here
[INFO] [stdout] ...
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                                           ^^^ `Key` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Key` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 6 | use carbide_core::event::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]  --> tests/global_input.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]  --> tests/global_input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use position::Scalar;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Mouse` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use input::Button::{Keyboard, Mouse};
[INFO] [stdout]   |                               ----- previous import of the type `Mouse` here
[INFO] [stdout] 4 | use input::Button::Mouse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^ `Mouse` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Mouse` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Motion` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |                        ------ previous import of the type `Motion` here
[INFO] [stdout] ...
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^ `Motion` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Motion` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]   |
[INFO] [stdout] 9 | use carbide_core::input::{Motion as OtherMotion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Key` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:9:43
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |                   --- previous import of the type `Key` here
[INFO] [stdout] ...
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                                           ^^^ `Key` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Key` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 6 | use carbide_core::event::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]  --> tests/widget_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 6 | use carbide_core::event::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Color` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 2  |     Color,
[INFO] [stdout]    |     ----- previous import of the type `Color` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                       ^^^^^--
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `Color` reimported here
[INFO] [stdout]    |                                       help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Color` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Labelable` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:64
[INFO] [stdout]    |
[INFO] [stdout] 3  |     Labelable,
[INFO] [stdout]    |     --------- previous import of the trait `Labelable` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                ^^^^^^^^^--
[INFO] [stdout]    |                                                                |
[INFO] [stdout]    |                                                                `Labelable` reimported here
[INFO] [stdout]    |                                                                help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Labelable` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Colorable` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:28
[INFO] [stdout]    |
[INFO] [stdout] 5  |     Colorable,
[INFO] [stdout]    |     --------- previous import of the trait `Colorable` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                            ^^^^^^^^^--
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Colorable` reimported here
[INFO] [stdout]    |                            help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Colorable` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Widget` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 7  |     Widget,
[INFO] [stdout]    |     ------ previous import of the macro `Widget` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                              ^^^^^^--
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Widget` reimported here
[INFO] [stdout]    |                                              help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Widget` must be defined only once in the macro namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Ui` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:89
[INFO] [stdout]    |
[INFO] [stdout] 8  |     Ui,
[INFO] [stdout]    |     -- previous import of the type `Ui` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                                         ^^--
[INFO] [stdout]    |                                                                                         |
[INFO] [stdout]    |                                                                                         `Ui` reimported here
[INFO] [stdout]    |                                                                                         help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ui` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `UiBuilder` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:100
[INFO] [stdout]    |
[INFO] [stdout] 9  |     UiBuilder
[INFO] [stdout]    |     --------- previous import of the type `UiBuilder` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                                                    ^^^^^^^^^ `UiBuilder` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UiBuilder` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 18 | use carbide_core::event::event;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `widget` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | use widget;
[INFO] [stdout]    |     ------ previous import of the module `widget` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                    ^^^^^^--
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `widget` reimported here
[INFO] [stdout]    |                    help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `widget` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `carbide_core::Sizeable`, `carbide_core::Positionable`
[INFO] [stdout]   --> tests/ui.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                      ^^^^^^^^             ^^^^^^^^^^^^ no `Positionable` in the root
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      no `Sizeable` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]   --> tests/ui.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]   --> tests/ui.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use position::Point;
[INFO] [stdout]    |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `widget` is defined multiple times
[INFO] [stdout]  --> tests/widget_input.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use widget;
[INFO] [stdout]   |     ------ previous import of the module `widget` here
[INFO] [stdout] ...
[INFO] [stdout] 7 | use carbide_core::{Rect, widget};
[INFO] [stdout]   |                          ^^^^^^ `widget` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `widget` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Color` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 2  |     Color,
[INFO] [stdout]    |     ----- previous import of the type `Color` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                       ^^^^^--
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `Color` reimported here
[INFO] [stdout]    |                                       help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Color` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Labelable` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:64
[INFO] [stdout]    |
[INFO] [stdout] 3  |     Labelable,
[INFO] [stdout]    |     --------- previous import of the trait `Labelable` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                ^^^^^^^^^--
[INFO] [stdout]    |                                                                |
[INFO] [stdout]    |                                                                `Labelable` reimported here
[INFO] [stdout]    |                                                                help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Labelable` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Colorable` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:28
[INFO] [stdout]    |
[INFO] [stdout] 5  |     Colorable,
[INFO] [stdout]    |     --------- previous import of the trait `Colorable` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                            ^^^^^^^^^--
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Colorable` reimported here
[INFO] [stdout]    |                            help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Colorable` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Widget` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 7  |     Widget,
[INFO] [stdout]    |     ------ previous import of the macro `Widget` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                              ^^^^^^--
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Widget` reimported here
[INFO] [stdout]    |                                              help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Widget` must be defined only once in the macro namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Ui` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:89
[INFO] [stdout]    |
[INFO] [stdout] 8  |     Ui,
[INFO] [stdout]    |     -- previous import of the type `Ui` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                                         ^^--
[INFO] [stdout]    |                                                                                         |
[INFO] [stdout]    |                                                                                         `Ui` reimported here
[INFO] [stdout]    |                                                                                         help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ui` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `UiBuilder` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:100
[INFO] [stdout]    |
[INFO] [stdout] 9  |     UiBuilder
[INFO] [stdout]    |     --------- previous import of the type `UiBuilder` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                                                    ^^^^^^^^^ `UiBuilder` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UiBuilder` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 18 | use carbide_core::event::event;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `widget` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | use widget;
[INFO] [stdout]    |     ------ previous import of the module `widget` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                    ^^^^^^--
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `widget` reimported here
[INFO] [stdout]    |                    help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `widget` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `carbide_core::Sizeable`, `carbide_core::Positionable`
[INFO] [stdout]   --> tests/ui.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                      ^^^^^^^^             ^^^^^^^^^^^^ no `Positionable` in the root
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      no `Sizeable` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]  --> tests/global_input.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]  --> tests/widget_input.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]   --> tests/ui.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Global` in crate `input`
[INFO] [stdout]   --> tests/global_input.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                  ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `carbide_core` in the crate root
[INFO] [stdout]   --> tests/ui.rs:48:42
[INFO] [stdout]    |
[INFO] [stdout] 48 |     ui.handle_event(Input::Motion(crate::carbide_core::input::Motion::MouseCursor { x, y }));
[INFO] [stdout]    |                                          ^^^^^^^^^^^^ could not find `carbide_core` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `color`
[INFO] [stdout]  --> tests/color.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use color::{rgb_to_hsl, hsl_to_rgb};
[INFO] [stdout]   |     ^^^^^ help: a similar path exists: `crate::color`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]  --> tests/global_input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use position::Scalar;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]  --> tests/widget_input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use position::Rect;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]   --> tests/ui.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use position::Point;
[INFO] [stdout]    |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]    --> tests/ui.rs:133:36
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |                                    ^^ could not find `Ui` in `event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Button` in `widget`
[INFO] [stdout]    --> tests/ui.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |         widget::Button::new()
[INFO] [stdout]     |                 ^^^^^^ not found in `widget`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 1   | use carbide_core::input::Button;
[INFO] [stdout]     |
[INFO] [stdout] 1   | use crate::Button;
[INFO] [stdout]     |
[INFO] [stdout] 1   | use input::Button;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Scroll` in module `event`
[INFO] [stdout]    --> tests/ui.rs:127:34
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let expected_scroll = event::Scroll{
[INFO] [stdout]     |                                  ^^^^^^ not found in `event`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 1   | use carbide_core::event_handler::MouseEvent::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   | use carbide_core::input::Motion::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   | use carbide_core::widget::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   | use crate::widget::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorable`, `Labelable`, `UiBuilder`, `Ui`, `Widget`
[INFO] [stdout]  --> tests/ui.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Color,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 3 |     Labelable,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 4 |     Positionable,
[INFO] [stdout] 5 |     Colorable,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 6 |     Sizeable,
[INFO] [stdout] 7 |     Widget,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 8 |     Ui,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 9 |     UiBuilder
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> tests/ui.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widget`
[INFO] [stdout]   --> tests/ui.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use widget;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/ui.rs:56:44
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^ help: use `dyn`: `dyn event::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/ui.rs:61:63
[INFO] [stdout]    |
[INFO] [stdout] 61 |                     ui.global_input().events().collect::<Vec<&event::Event>>()));
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn event::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:59:28
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/global_input.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `input::Button::Mouse`
[INFO] [stdout]  --> tests/global_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use input::Button::Mouse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Key`, `Motion`
[INFO] [stdout]  --> tests/global_input.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^ help: use `dyn`: `dyn event::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^ help: use `dyn`: `dyn event::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:66:49
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let results = input.events().collect::<Vec<&event::Event>>();
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^ help: use `dyn`: `dyn event::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]  --> tests/widget_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 6 | use carbide_core::event::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `widget` is defined multiple times
[INFO] [stdout]  --> tests/widget_input.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use widget;
[INFO] [stdout]   |     ------ previous import of the module `widget` here
[INFO] [stdout] ...
[INFO] [stdout] 7 | use carbide_core::{Rect, widget};
[INFO] [stdout]   |                          ^^^^^^ `widget` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `widget` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]  --> tests/widget_input.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn left_click_mouse(ui: &mut Ui) {
[INFO] [stdout]    |                              ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn left_click_mouse(ui: &mut Ui<S>) {
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:30:55
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn release_mouse_button(button: MouseButton, ui: &mut Ui) {
[INFO] [stdout]    |                                                       ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn release_mouse_button(button: MouseButton, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:35:53
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn press_mouse_button(button: MouseButton, ui: &mut Ui) {
[INFO] [stdout]    |                                                     ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn press_mouse_button(button: MouseButton, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:40:57
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn move_mouse_to_widget(widget_id: widget::Id, ui: &mut Ui) {
[INFO] [stdout]    |                                                         ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn move_mouse_to_widget(widget_id: widget::Id, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:47:59
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn move_mouse_to_abs_coordinates(x: f64, y: f64, ui: &mut Ui) {
[INFO] [stdout]    |                                                           ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn move_mouse_to_abs_coordinates(x: f64, y: f64, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:51:45
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn test_handling_basic_input_event(ui: &mut Ui, event: Input) {
[INFO] [stdout]    |                                             ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn test_handling_basic_input_event(ui: &mut Ui<S>, event: Input) {
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                 ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui<S>, event: event::Event) {
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/ui.rs:56:51
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                                   ^^^^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event<S>) {
[INFO] [stdout]    |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]  --> tests/widget_input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use position::Rect;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:64:42
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn to_window_coordinates(xy: Point, ui: &Ui) -> Point {
[INFO] [stdout]    |                                          ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn to_window_coordinates(xy: Point, ui: &Ui<S>) -> Point {
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn windowless_ui() -> Ui {
[INFO] [stdout]    |                       ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn windowless_ui() -> Ui<S> {
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 25 previous errors; 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0422, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `carbide_core`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/global_input.rs:13:56
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                        ^^^^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event<S>) {
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/global_input.rs:17:53
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event {
[INFO] [stdout]    |                                                     ^^^^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event<S> {
[INFO] [stdout]    |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 13 previous errors; 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0412, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `color`
[INFO] [stdout]  --> tests/color.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use color::{rgb_to_hsl, hsl_to_rgb};
[INFO] [stdout]   |     ^^^^^ help: a similar path exists: `carbide_core::color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Source` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let source = input::Source::Mouse;
[INFO] [stdout]    |                         ^^^^^^ could not find `Source` in `input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Source` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let source = input::Source::Mouse;
[INFO] [stdout]    |                         ^^^^^^ could not find `Source` in `input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `carbide_core` in the crate root
[INFO] [stdout]   --> tests/widget_input.rs:22:74
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, event::Event::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^ could not find `carbide_core` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]    --> tests/ui.rs:133:36
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |                                    ^^ could not find `Ui` in `event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Global` in crate `input`
[INFO] [stdout]   --> tests/global_input.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                  ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:59:28
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Global` in crate `input`
[INFO] [stdout]   --> tests/widget_input.rs:11:34
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                  ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut global_input = input::Global::new();
[INFO] [stdout]    |                                   ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]   --> tests/widget_input.rs:21:42
[INFO] [stdout]    |
[INFO] [stdout] 21 |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]    |                                          ^^ not found in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::Ui;
[INFO] [stdout]    |
[INFO] [stdout] 1  | use crate::ui::Ui;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]    |                               ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:32:35
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut global_input = input::Global::new();
[INFO] [stdout]    |                                   ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]   --> tests/widget_input.rs:35:42
[INFO] [stdout]    |
[INFO] [stdout] 35 |     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |                                          ^^ not found in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::Ui;
[INFO] [stdout]    |
[INFO] [stdout] 1  | use crate::ui::Ui;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Click` in module `event`
[INFO] [stdout]   --> tests/widget_input.rs:35:73
[INFO] [stdout]    |
[INFO] [stdout] 35 |     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |                                                                         ^^^^^ not found in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::event_handler::KeyboardEvent::Click;
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::event_handler::MouseEvent::Click;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Global` in crate `input`
[INFO] [stdout]   --> tests/widget_input.rs:11:34
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                  ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let widget_input = input::Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout]    |                               ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:49:39
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let another_widget_input = input::Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout]    |                                       ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Button` in `widget`
[INFO] [stdout]    --> tests/ui.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |         widget::Button::new()
[INFO] [stdout]     |                 ^^^^^^ not found in `widget`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 1   | use carbide_core::input::Button;
[INFO] [stdout]     |
[INFO] [stdout] 1   | use crate::ui::Button;
[INFO] [stdout]     |
[INFO] [stdout] 1   | use input::Button;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Scroll` in module `event`
[INFO] [stdout]    --> tests/ui.rs:127:34
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let expected_scroll = event::Scroll{
[INFO] [stdout]     |                                  ^^^^^^ not found in `event`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 1   | use carbide_core::event_handler::MouseEvent::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   | use carbide_core::input::Motion::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   | use carbide_core::widget::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   | use crate::ui::widget::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut global_input = input::Global::new();
[INFO] [stdout]    |                                   ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]   --> tests/widget_input.rs:21:42
[INFO] [stdout]    |
[INFO] [stdout] 21 |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]    |                                          ^^ not found in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::Ui;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]    |                               ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  | use crate::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:32:35
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut global_input = input::Global::new();
[INFO] [stdout]    |                                   ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]   --> tests/widget_input.rs:35:42
[INFO] [stdout]    |
[INFO] [stdout] 35 |     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |                                          ^^ not found in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::Ui;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Click` in module `event`
[INFO] [stdout]   --> tests/widget_input.rs:35:73
[INFO] [stdout]    |
[INFO] [stdout] 35 |     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |                                                                         ^^^^^ not found in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::event_handler::KeyboardEvent::Click;
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::event_handler::MouseEvent::Click;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let widget_input = input::Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout]    |                               ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  | use crate::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:49:39
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let another_widget_input = input::Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout]    |                                       ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  | use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  | use crate::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/global_input.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `input::Button::Mouse`
[INFO] [stdout]  --> tests/global_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use input::Button::Mouse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Key`, `Motion`
[INFO] [stdout]  --> tests/global_input.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^ help: use `dyn`: `dyn event::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/widget_input.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^ help: use `dyn`: `dyn event::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Motion`
[INFO] [stdout]  --> tests/widget_input.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Button, Motion, MouseButton};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widget`
[INFO] [stdout]  --> tests/widget_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use widget;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:11:49
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^ help: use `dyn`: `dyn event::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:66:49
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let results = input.events().collect::<Vec<&event::Event>>();
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^ help: use `dyn`: `dyn event::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/widget_input.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Motion`
[INFO] [stdout]  --> tests/widget_input.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Button, Motion, MouseButton};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widget`
[INFO] [stdout]  --> tests/widget_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use widget;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:11:49
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^ help: use `dyn`: `dyn event::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorable`, `Labelable`, `UiBuilder`, `Ui`, `Widget`
[INFO] [stdout]  --> tests/ui.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Color,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 3 |     Labelable,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 4 |     Positionable,
[INFO] [stdout] 5 |     Colorable,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 6 |     Sizeable,
[INFO] [stdout] 7 |     Widget,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 8 |     Ui,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 9 |     UiBuilder
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> tests/ui.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widget`
[INFO] [stdout]   --> tests/ui.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use widget;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/ui.rs:56:44
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^ help: use `dyn`: `dyn event::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/ui.rs:61:63
[INFO] [stdout]    |
[INFO] [stdout] 61 |                     ui.global_input().events().collect::<Vec<&event::Event>>()));
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn event::Event`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/widget_input.rs:11:56
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                        ^^^^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event<S>) {
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 16 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0412, E0422, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/global_input.rs:13:56
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                        ^^^^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event<S>) {
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/global_input.rs:17:53
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event {
[INFO] [stdout]    |                                                     ^^^^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event<S> {
[INFO] [stdout]    |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/widget_input.rs:11:56
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                        ^^^^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event<S>) {
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn left_click_mouse(ui: &mut Ui) {
[INFO] [stdout]    |                              ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn left_click_mouse(ui: &mut Ui<S>) {
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:30:55
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn release_mouse_button(button: MouseButton, ui: &mut Ui) {
[INFO] [stdout]    |                                                       ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn release_mouse_button(button: MouseButton, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:35:53
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn press_mouse_button(button: MouseButton, ui: &mut Ui) {
[INFO] [stdout]    |                                                     ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn press_mouse_button(button: MouseButton, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:40:57
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn move_mouse_to_widget(widget_id: widget::Id, ui: &mut Ui) {
[INFO] [stdout]    |                                                         ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn move_mouse_to_widget(widget_id: widget::Id, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:47:59
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn move_mouse_to_abs_coordinates(x: f64, y: f64, ui: &mut Ui) {
[INFO] [stdout]    |                                                           ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn move_mouse_to_abs_coordinates(x: f64, y: f64, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:51:45
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn test_handling_basic_input_event(ui: &mut Ui, event: Input) {
[INFO] [stdout]    |                                             ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn test_handling_basic_input_event(ui: &mut Ui<S>, event: Input) {
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                 ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui<S>, event: event::Event) {
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/ui.rs:56:51
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                                   ^^^^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event<S>) {
[INFO] [stdout]    |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:64:42
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn to_window_coordinates(xy: Point, ui: &Ui) -> Point {
[INFO] [stdout]    |                                          ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn to_window_coordinates(xy: Point, ui: &Ui<S>) -> Point {
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn windowless_ui() -> Ui {
[INFO] [stdout]    |                       ^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 type parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn windowless_ui() -> Ui<S> {
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 53 previous errors; 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0412, E0422, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "4900e0b50251d84e7873308cae3eddbf27e7beb0a29afe5b319e214af1e36b99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4900e0b50251d84e7873308cae3eddbf27e7beb0a29afe5b319e214af1e36b99", kill_on_drop: false }`
[INFO] [stdout] 4900e0b50251d84e7873308cae3eddbf27e7beb0a29afe5b319e214af1e36b99
